• Lunes 23 de Diciembre de 2024, 00:57

Autor Tema:  Re: Matriz de controles  (Leído 2414 veces)

Egala

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Matriz de controles
« en: Jueves 10 de Abril de 2003, 11:18 »
0
Hola a todos:
A ver si alguien me puede ayudar, necsito pasar por parametro una matriz de controles a un procedimiento o funcion.
Alguien sabe como?

Gracias

Egala
Suerte

Egala

metalheavy

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Matriz de controles
« Respuesta #1 en: Jueves 10 de Abril de 2003, 23:00 »
0
Egala
podrias detallar más tu pregunta por favor
así podemos ayudarte

Gracias

Puedes escribirme a javasun666@yahoo.com.mx

Para ayudarte
metalheavy

Egala

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Matriz de controles
« Respuesta #2 en: Viernes 11 de Abril de 2003, 01:48 »
0
Os detallo un poco mas mi problema:
En unos procedimientos o funciones tengo un textbox el cual recorro de la siguiente manera:
for i=0 to 5
   textbox(i).text=i
next i

pero es un procedimiento que tengo en un Form y lo que quiero es ponerlo en un modulo aparte de tal forma que le pase por parametro el textbox, es decir:
sub Prueba(Caja as textbox)
   for i=0 to 5
      caja(i).text=i
   next i
end sub

pero no me funciona, da error en la declaracion. Y lo que no quiero es pasar el Form como parametro, pues pasandole el form se que funciona, yo estoy interesado en saber pasar el control en concreto, siendo este una matriz de controles, como puedes ver.

Gracias
Suerte

Egala

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Matriz de controles
« Respuesta #3 en: Viernes 11 de Abril de 2003, 10:13 »
0
Yo creo, amigo Egala, que los parámetros que pretendes pasar no son Controles sino datos numétricos, contenidos en unos textbox.
Lógicamente ha de darte error si los quieres definir como textbox, cuando son 0, 1, 2, 3, 4...
¿De acuerdo?

Si lo que deseas es tener unos textbox accesibles desde cualquier formulario, define un formulario fantasma (frmTemp) con 6 controles textbox, que lo puedes tener incluso permanentemente oculto, invisible, y refiérete a él desde donde te interese con
for i = 0 to 5
frmTemp.TextBox(i).text = i
next
Y luego accedes a esos valores como mejor te vaya: x1 = frmTemp.TextBox(3).Text, por ejemplo.

Ya contarás si esto cumple tus deseos.

Saludos y suerte

Egala

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Matriz de controles
« Respuesta #4 en: Viernes 11 de Abril de 2003, 11:51 »
0
Amigo J.M.Movilla, te agradezco la respuesta (algo se aprende), pero creo que no me explique bien en lo que yo quiero hacer. Vease un ejemplo:

Sub CargaLista(Valor as integer,Lista as ListBox)
  Lista.additem Valor
End sub

La llamada desde el formulario seria:
call CargaLista(Valor, LstNuestraLista)

Bien, pues es lo mismo pero en vez de pasar una unica Lista, quiero pasar un conjunto de listas (matriz de controles), osea algo como:

Sub CargaLista(Valor as integer,Lista as ListBox,Posicion as integer)
  Lista(posicion).additem Valor
End sub

La llamada desde el formulario seria:
call CargaLista(Valor, LstNuestraLista,i)
donde i es el indice de la lista en la cual quiero insertar el valor pasado.
Pero me da error

Bueno, espero que con esta explicacion puedas ayudarme

Gracias de antemano
Suerte

Egala

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Matriz de controles
« Respuesta #5 en: Viernes 11 de Abril de 2003, 18:54 »
0
He hecho varias pruebas y me ha quedado suficiente claro este concepto:

No puede pasarse un array de controles indefinido.

Tienes, sin embargo, fácil la solución:

Sub CargaLista(Valor as integer,Lista as ListBox)
Lista.Additem Valor
End sub

Y la llamada la haces así:
Call CargaLista(Valor, LstNuestraLista(i))

con lo cual no pasas el array de controles, sino el control con la posición ya definida.
Y ASI FUNCIONA PERFECTAMENTE.

Saludos

Egala

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Matriz de controles
« Respuesta #6 en: Viernes 11 de Abril de 2003, 20:37 »
0
J.M.Movilla, te agradezco el esfuerzo y cuando uno esta obcecado no discurre bien. Me sirve eso que me dices de que no se pueden pasar matrices indefinidas, me has ahorrado mucho esfuerzo. Gracias.
Recodificare algunos procedimientos y a ver que pasa.
Suerte

Egala